/**
 * 根据指定字段对数组进行排序
 * @param array 要排序的数组
 * @param key 排序的字段名
 * @param ascending 是否升序（默认为 true，升序；false 为降序）
 * @returns 排序后的数组
 */
export function sortByField<T>(
  array: T[],
  key: keyof T,
  ascending: boolean = true,
): T[] {
  return array.sort((a, b) => {
    const valueA = a[key];
    const valueB = b[key];

    if (valueA === valueB) return 0;

    // 比较规则
    if (valueA > valueB) {
      return ascending ? 1 : -1;
    } else {
      return ascending ? -1 : 1;
    }
  });
}
